package com.taichuan.selfcheck;

import android.util.Log;

/**
 * Created by CamelLuo on 2019/5/8.
 */
public abstract class AppModuleBaseConfig {
    protected final String TAG = this.getClass().getSimpleName();

    ////////////////////////////////////////////// 设备摄像头预览是否需要左右镜像翻转参数 //////////////////////////
    /**
     * 设备摄像头预览是否需要左右镜像翻转参数
     * true 预览画面 需要左右镜像翻转 （只有TextureView控件有效）
     * false 预览画面 不需要左右镜像翻转
     */
    public static boolean isOpenMirrorFlipPreview = false;

    /**
     * 摄像头预览角度,默认为0°
     */
    public static int CAMERA_PREVIEW_ORATION = 0;


    public AppModuleBaseConfig() {
        Log.e(TAG, "AppModuleBaseConfig: 正在实例化");
        //加载项目的参数设置信息
        loadAppModuleConfig();
        //执行各Module的配置信息初始化
        initModuleConfig();
    }

    protected void initModuleConfig() {

    }

    /**
     * 定义一个方法用于获取摄像头预览角度
     * @return
     */
    public static int getCameraPreviewOration(){
        return CAMERA_PREVIEW_ORATION;
    }

    /**
     * 定义一个方法用于获取该设备在进行画面预览时是否需要进行左右镜像翻转
     * @return
     */
    public static boolean isIsOpenMirrorFlipPreview() {
        return isOpenMirrorFlipPreview;
    }

    /**
     * 定义一个方法用于读取各App Module下的配置信息
     * 如果配置需求与 AppModuleBaseConfig类的配置一致则无需填写，只需要填写 不同的配置
     */
    protected abstract void loadAppModuleConfig();
}
